-
Notifications
You must be signed in to change notification settings - Fork 12
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Runtime IO #189
Runtime IO #189
Conversation
* emul-elf: introduce elf crate and risc0 load_elf() * emul-elf: load and execute a test program * emul-elf: use examples/ folder * runtime: example program using memory and stack --------- Co-authored-by: Aurélien Nicolas <[email protected]>
IIUC, this PR is for having MMIO write in program for output, then to memory, and we can peak memory and check output. A question, do we currently support initialized (std) input in a reserved memory range before program start? For example, specify Fibonacci rounds as input ? |
The emulator supports this. The prover I guess not yet? But it will have to, also for program .data section. That can be the same mechanism. |
_Based on #173._ This PR experiments with how Input / Output can work. It is based on MMIO - Memory-Mapped IO. It works by reading or writing to specific memory addresses. The system recognizes this and can commit to the content as part of the proof. This can also be used for debug statements during development: ``` 📜📜📜 Hello, World! 🌏🌍🌎 test test_ceno_rt_io ... ok ``` --------- Co-authored-by: Aurélien Nicolas <[email protected]>
Based on #173.
This PR experiments with how Input / Output can work. It is based on MMIO - Memory-Mapped IO. It works by reading or writing to specific memory addresses. The system recognizes this and can commit to the content as part of the proof.
This can also be used for debug statements during development: